<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
  <head>
    <!-- 指定字符集 -->
    <meta charset="utf-8" />
    <!-- 使用Edge最新的浏览器的渲染方式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <!-- viewport视口：网页可以根据设置的宽度自动进行适配，在浏览器的内部虚拟一个容器，容器的宽度与设备的宽度相同。
    width: 默认宽度与设备的宽度相同
    initial-scale: 初始的缩放比，为1:1 -->
    <!--    <meta name="viewport" content="width=device-width, initial-scale=1">-->
    <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
    <meta
      name="viewport"
      content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
    />

    <title>在线音乐服务器</title>

    <link rel="shortcut icon" href="#" />

    <!-- 1. 导入CSS的全局样式 -->
    <link href="css/bootstrap.min.css" rel="stylesheet" />
    <!-- 2. jQuery导入，建议使用1.9以上的版本 -->
    <script src="js/jquery-3.1.1.min.js"></script>
    <!-- 3. 导入bootstrap的js文件 -->
    <!-- <script src="js/bootstrap.min.js"></script>-->
    <style type="text/css">
      td,
      th {
        text-align: center;
      }
    </style>

    <script type="text/javascript">
      // 核心代码实现
      $(function () {
        $("#submit1").click(function () {
          var name = $("#exampleInputName2").val();
          load(name);
        });
        load(); //load函数，加载到所有的歌曲，这个函数要自己实现（↓↓↓）//屏蔽掉这一句效果如何？？？

        $.when(load).done(function () {
          //←这里的意思是：等加载完之后，执行这个function
          $("#delete").click(function () {
            var id = new Array();
            var i = 0; //数组的小标
            //
            $("input:checkbox").each(function () {
              //如果被选中,this代表发生事件的dom元素，<input>
              if ($(this).is(":checked")) {
                id[i] = $(this).attr("id");
                i++;
              }
            });

            console.log(id);

            //↑↑↑上边是获取选中的音乐的id
            //↓↓↓是利用Ajax向后端发请求
            $.ajax({
              url: "/music/deleteSel",
              data: { id: id },
              dataType: "json",
              type: "post",

              success: function (obj) {
                if (obj.data == true) {
                  alert("删除成功！");
                  window.location.href = "list.html";
                } else {
                  alert("删除失败！");
                }
              },
            });
          });
        });
      });

      //musicName可以传参  也可以不传参数
      function load(musicName) {
        $.ajax({
          url: "/lovemusic/findlovemusic",
          data: { musicName: musicName }, //也可以不传
          type: "GET", //请求类型
          dataType: "json", //后端给返回的数据类型
          success: function (obj) {
            //请求成功执行的操作——obj接收后端返回的东西，这里，应该是一个数组×××错了这里不是数组，响应体里边有一项是数组
            console.log(obj); //打印这个数组出来，看看后端返回（找到）了啥
            var data = obj.data; //数组

            var s = ""; //表明s的类型是字符串
            //data[i].id    data[i].singer  data[i].title
            for (var i = 0; i < data.length; i++) {
              //遍历这个数组：找到的每首歌的信息
              var musicUrl = data[i].url + ".mp3"; //拼接出来这首歌的URL（尤其是后缀）
              console.log(musicUrl); //打印出来看看这首歌的URL

              s += "<tr>"; //这行表项的开始——行<tr></tr>
              s +=
                '<th > <input id= "' + data[i].id + '" type="checkbox"> </th>'; //行首,或者说，表头<th></th>
              s += "<td>" + data[i].title + "</td>"; //普通单元格<td></td>
              s += "<td>" + data[i].singer + "</td>";
              s +=
                '<td> <button class = "btn btn-primary"  onclick="playerSong(\'' +
                musicUrl +
                "')\"> 播放歌曲 </button>" +
                "</td>"; //这个是《播放音乐》按钮,playerSong是一个函数，需要自己实现
              //↑↑↑这个，拼出来应该是这样的：（可以在浏览器的控制台打印出来看看：console.log(s);）
              //<td> <button class = "btn btn-primary"  onclick="playerSong('real_musicUrl')"> 播放歌曲 </button></td>
              //参照写死的来写
              //
              s +=
                '<td> <button class = "btn btn-primary"  onclick= "deleteInfo(' +
                data[i].id +
                ')"> 移除歌曲 </button>' +
                "</td>"; //按钮的拼接

              /* s +=
                '<td> <button class = "btn btn-primary"  onclick= "loveInfo(' +
                data[i].id +
                ')"> 收藏歌曲 </button>' +
                "</td>"; */
            }
            $("#info").html(s);
          },
        });
      }

      function playerSong(obj) {
        //需要用到toPlay接口——查看说明的文档
        var name = obj.substring(obj.lastIndexOf("=") + 1);
        //obj：播放的音乐的地址 name:播放的音乐的名称 0：播放的开始时间 false：不自动播放
        SewisePlayer.toPlay(obj, name, 0, true);
      }

      function deleteInfo(obj) {
        //这里，看着《删除单个音乐》的 请求响应设计 来写
        console.log(obj);

        $.ajax({
          //向后端发送请求（按照一定的格式），传递必要的参数。同时，规定给后端返回响应的格式
          url: "/music/deletlovemusic", //注意：Ajax这里，键值对的方式，留意一下“键”是否需要加双引号（以字符串的形式传递）
          type: "POST",
          data: { id: obj },
          dataType: "json",

          success: function (val) {
            s;
            console.log(val);

            if (val.data == true) {
              alert("删除成功"); //确定之后，应该跳转到新的页面（刷新这个页面，也就是，重新请求，展示成功删除后的效果）
              //“跳转”
              window.location.href = "lovemusic_copy.html";
            }
          },
        });
      }

      //查询音乐
      //这个的外框架，不是剪切，而是从上边↑↑↑拷贝过来的
      //试验过了，这里可以和前边的那个写在一起
      /* $(function () {
        $("#submit1").click(function () {
          var name = $("#exampleInputName2").val();
          load(name);
        });
      }); */

      function loveInfo(obj) {
        //
      }
    </script>
  </head>

  <body id="body">
    <div class="container">
      <h3 style="text-align: center">在线音乐服务器实现</h3>
      <div style="float: left">
        <form class="form-inline">
          <div class="form-group">
            <label for="exampleInputName2">歌曲名</label>
            <input
              name="name"
              type="text"
              class="form-control"
              id="exampleInputName2"
            />
          </div>
          <button id="submit1" type="button" class="btn btn-primary">
            查询
          </button>
        </form>
      </div>
      <div style="float: right; margin-bottom: 15px">
        <a class="btn btn-primary" href="loveMusic.html">喜欢列表</a>
        <a class="btn btn-primary" href="upload.html">添加歌曲</a>
        <a id="delete" class="btn btn-primary">删除选中</a>
      </div>
      <table border="1" class="table table-bordered table-hover">
        <tr class="success">
          <th>选择</th>
          <th>歌名</th>
          <th>歌手</th>
          <th>歌曲</th>
          <th>操作</th>
        </tr>

        <tbody id="info" valign="middle"></tbody>
      </table>
    </div>
  </body>

  <!--//其实这里看参数说明即可 //这里改播放器的大小和位置-->
  <div
    style="
      width: 180px;
      height: 140px;
      position: absolute;
      bottom: 10px;
      right: 10px;
    "
  >
    <script type="text/javascript" src="player/sewise.player.min.js"></script>
    <script type="text/javascript">
      SewisePlayer.setup({
        //←这里，就是引入了一个播放器，一会儿在写播放的方法实现（函数）的时候，就可以直接用了SewisePlayer
        server: "vod", //点播
        type: "mp3", //类型
        //这里是默认的一个网址
        videourl:
          "http://jackzhang1204.github.io/materials/where_did_time_go.mp3",
        skin: "vodWhite",
        //这里需要设置false
        autostart: "false", //不自动播放
      });
    </script>
  </div>
</html>
